home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Extras / IFF / IFF_Forms / FAXX.doc < prev    next >
Encoding:
Text File  |  1993-03-01  |  3.1 KB  |  87 lines

  1. FAXX (Facsimile image FORM)
  2.  
  3. IFF FORM / CHUNK DESCRIPTION
  4. ============================
  5.  
  6. Form/Chunk IDs:
  7.     FORM:   FAXX
  8.     Chunks: FXHD, PAGE, FLOG
  9.  
  10. Date Submitted: 11/13/91
  11. Submitted by:   Christopher E. Darsch - Atlantis Design Group, Inc.
  12. Revision:       1.0
  13.  
  14.  
  15. FXHD Chunk
  16. ==========
  17.  
  18.     The required property chunk "FXHD" contains a FaxHeader as defined in
  19. the following header file.  The FaxHeader contains data necessary to interpret
  20. the data chunk "PAGE".  The pixel size of the image can be determined from the
  21. contents of the FaxHeader structure, as well as the dimensions of the source
  22. document.  The compression method used to encode the "PAGE" chunk is also part
  23. of the FaxHeader.
  24.  
  25. PAGE Chunk
  26. ==========
  27.  
  28.     The required data chunk "PAGE" contains the encoded bit-packed fax image
  29. data that is transmitted/received during phase C of a facsimile communication.
  30. The data always begins with a fax EOL (End of line = 0x001) and ends
  31. with a fax RTC (Return to control = six consecutive EOLs).
  32.  
  33.     A multiple-page fax can be stored variously as multiple files or, most
  34. preferably, as an IFF LIST object with a shared FXHD chunk.
  35.  
  36. FLOG Chunk
  37. ==========
  38.  
  39.     The optional data chunk "FLOG" contains log information about a received
  40. fax.  The specification for this chunk will be submitted at a later date.
  41.  
  42.  
  43.  
  44. /***************************************************************************/
  45. /* FaxxIFF.h                                                               */
  46. /***************************************************************************/
  47.  
  48. #define ID_FAXX     MakeID('F','A','X','X')
  49. #define ID_FXHD     MakeID('F','X','H','D')
  50. #define ID_PAGE     MakeID('P','A','G','E')
  51. #define ID_FLOG     MakeID('F','L','O','G')
  52.  
  53. /* LineLength Codes */
  54.  
  55. #define FXLNGSTD    215     /* 1728 pixels along std line lng of 215mm */
  56. #define FXLNGLONG   255     /* 2048 pixels along opt line lng of 255mm */
  57. #define FXLNGLONGER 303     /* 2432 pixels along opt line lng of 303mm */
  58. #define FXLNGA5     151     /* 1216/1728 pixels along opt line lng of 151mm */
  59. #define FXLNGA6     107     /* 864/1728 pixels along opt line lng of 107mm */
  60.  
  61. /* VRes Codes */
  62.  
  63. #define FXVRESNORM  385     /* Normal resolution: 3.85 lines/mm */
  64. #define FXVRESFINE  770     /* Fine resolution: 7.7 lines/mm */
  65.  
  66. /* Compression Codes */
  67. /* Codes 129, 130, and 131 are reserved */
  68.  
  69. #define FXCMPNONE   0       /* No compression -- available under Group IV */
  70. #define FXCMPMH     1       /* One-dimensional (MH) coding */
  71. #define FXCMPMR     2       /* Two-dimensional (MR) coding */
  72. #define FXCMPMMR    4       /* Modified Two-dimensional (MMR) coding */
  73.  
  74. typedef struct {
  75.     UWORD Width, Height;    /* Image width and height, in pixels */
  76.     UWORD LineLength;       /* Scan line length, in millimeters */
  77.     UWORD VRes;             /* Vertical Resolution, in lines/100mm */
  78.     UBYTE Compression;      /* Compression method */
  79.     UBYTE Pad[11];          /* Room for expansion */
  80. } FaxHeader;
  81.  
  82. ==========================
  83.  
  84.  
  85. Note:  You may also find "GPHD" chunks in FAXX files.   This is an
  86. additional header used by one software producer.  See "FAXX.GPHD.doc"
  87.